package com.itheima.d4_file;

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 目标：掌握File提供的判断文件类型、获取文件信息功能
 */
public class FileTest2 {
    public static void main(String[] args) throws UnsupportedEncodingException {
        // 1.创建文件对象，指代某个文件
        File file1 = new File("D:\\code\\javaee156\\day08map-stream-app\\src\\com\\itheima\\d4_file\\FileTest1.java");
        File file2 = new File("D:\\code\\javaee156\\day08map-stream-app\\src\\com\\itheima\\d2_collection_nesting\\Test.java");
        File file3 = new File("lalalal");
        // 2、public boolean exists()：判断当前文件对象，对应的文件路径是否存在，存在返回true.
        System.out.println(file1.exists());
        System.out.println(file2.exists());
        System.out.println(file3.exists());
        // 3、public boolean isFile() : 判断当前文件对象指代的是否是文件，是文件返回true，反之。
        System.out.println(file1.isFile());
        System.out.println(file2.isFile());
        System.out.println(file3.isFile());
        // 4、public boolean isDirectory()  : 判断当前文件对象指代的是否是文件夹，是文件夹返回true，反之。
        System.out.println("-------------------------------");
        System.out.println(file1.isDirectory());
        System.out.println(file2.isDirectory());
        System.out.println(file3.isDirectory());
        // 5.public String getName()：获取文件的名称（包含后缀）
        System.out.println("-----------------------------------");
        System.out.println(file1.getName());
        System.out.println(file2.getName());
        System.out.println(file3.getName());

        // 6.public long length()：获取文件的大小，返回字节个数
        System.out.println("----------------------------");
        System.out.println(file1.length());
        System.out.println(file2.length());
        System.out.println(file3.length());
        // 7.public long lastModified()：获取文件的最后修改时间。
        System.out.println("----------------------------");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        System.out.println(sdf.format(new Date(file1.lastModified())) );
        System.out.println(sdf.format(file2.lastModified()));
        System.out.println(sdf.format(file3.lastModified()));
        // 8.public String getPath()：获取创建文件对象时，使用的路径
        System.out.println("----------------------------");
        System.out.println(file1.getPath());
        System.out.println(file2.getPath());
        System.out.println(file3.getPath());

        // 9.public String getAbsolutePath()：获取绝对路径
        System.out.println("----------------------------");
        System.out.println(file1.getAbsolutePath());
        System.out.println(file2.getAbsolutePath());
        System.out.println(file3.getAbsolutePath());


    }
}
